package com.gzc.just.play.last.war.sceneserver.move;

import com.gzc.just.play.last.war.sceneserver.gameobject.base.Position;
import com.gzc.just.play.last.war.sceneserver.gameobject.base.Vector3;
import com.gzc.just.play.last.war.sceneserver.gameobject.unit.GameUnit;

/**
 * 移动事件监听器接口
 *
 * @author AI编程助手
 * @version 1.0
 * @since 2025-11-22
 */
public interface MoveListener {
    
    /**
     * 单位开始移动时调用
     *
     * @param unit 开始移动的单位
     * @param direction 移动方向
     */
    void onMoveStarted(GameUnit unit, Vector3 direction);
    
    /**
     * 单位停止移动时调用
     *
     * @param unit 停止移动的单位
     */
    void onMoveStopped(GameUnit unit);
    
    /**
     * 单位位置改变时调用
     *
     * @param unit 移动的单位
     * @param newPosition 新位置
     */
    void onPositionChanged(GameUnit unit, Position newPosition);
}
